package com.tanhua.dubbo.server.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.tanhua.common.mapper.UserInfoMapper;
import com.tanhua.common.pojo.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @ClassName: UserInfoService
 * @Author:王晨晗
 * @Description:
 * @Date: 2022/01/07/14:23
 */
@Service
public class UserInfoService {
    @Autowired
    private UserInfoMapper userInfoMapper;

    /**
     * @description 修改用户详细信息
     * @param userInfo  用户信息对象
     * @return
     */
    public Boolean updateUserInfoByUserId(UserInfo userInfo){
        //创建查询对象
        QueryWrapper<UserInfo> wrappr = new QueryWrapper<>();
        //构建查询条件
        wrappr.eq("user_id" , userInfo.getUserId());
        //执行修改,返回修改结果
        return userInfoMapper.update(userInfo, wrappr) > 0;
    }

    /**
     * @description 根据用户id 获取用户信息
     * @param userId
     * @return
     */
    public UserInfo queryUserInfoByUserId(Long userId){
        //创建查询条件对象
        QueryWrapper<UserInfo> wrapper = new QueryWrapper<>();
        //构建条件
        wrapper.eq("user_id" ,userId);
        //执行查询获取用户信息对象, 并返回
        return userInfoMapper.selectOne(wrapper);
    }

    /**
     * @description 根据条件查询用户详细信息列表
     * @param wrapper
     * @return
     */
    public List<UserInfo> queryUserInfoList(QueryWrapper<UserInfo> wrapper) {
        return userInfoMapper.selectList(wrapper);
    }

    /**
     * @description 根据id集合查询用户列表
     * @param userIds
     * @return
     */
    public List<UserInfo> queryUserInfoByList(List<Object> userIds){
        //构建条件
        QueryWrapper<UserInfo> wrapper = new QueryWrapper<>();
        //用户id要在集合中
        wrapper.in("user_id" , userIds);
        //执行查询,返回结果
        return userInfoMapper.selectList(wrapper);
    }
}
